App TEF - Serviços Publicados¶
Definições¶
Adquirentes¶
03 - Cielo
04 - Global
06 - Stone
07 - Adiq
08 - Pagseguro
11 - Acqio
Vias de Impressão¶
0 - Segunda via
1 - Primeira via
2 - Todas as vias
Tipos de Estabelecimento¶
0 - Estabelecimento de Rede
1 - Estabelecimento Principal
2 - Substabelecimento
Tipos de Pagamento¶
1 - Crédito à Vista
4 - Crédito Parcelado Loja
5 - Crédito Parcelado Emissor
6 - Débito à Vista
8 - Pré-Autorização
9 - Confirmação de Pré-Autorização
Serviços¶
A API de Pagamento consiste em um conjunto de serviços disponibilizados para a realização de operações financeiras.
| package://tef/services.wmlsc |
|---|
tef.connect¶
Serviço que inicia previamente a comunicação do PhAST para a realização de transções.
Por padrão, a comunicação é iniciada durante a execução da transação e finalizada ao termino da transação. Utilizando este serviço, é possível iniciar a comunicação antes da execução da transação e manter a mesma conexão para a execução de várias transações. Importante: Quando o serviço
tef.connectfor executado, a comunicação só será finalizada com a execução do serviçotef.disconnect.
tef.disconnect¶
Serviço para a finalização da comunicação do PhAST. Deve ser chamado após o
tef.connect, quando a conexão não for mais necessária.
tef.refund¶
Serviço de Estorno, provido pelo App TEF. Este serviço recebe como entrada um
PhStructcom a definiçãoTefServices#REFUND_REQUEST_DEFINITION(), contendo atributos de configuração e retorna umPhStructcom a definiçãoTefServices#REFUND_RESPONSE_DEFINITION(), contendo informações sobre a execução do estorno.
- Entrada:
Campo Tipo Descrição Comportamento padrão value string Valor da transação Capturar date date Data em que foi realizada a transação Capturar nsu string NSU do autorizador da transação Capturar boolean Indica se o TEF deve imprimir o comprovante ao final da transação Não imprimir additionalData string Dados que o app pode enviar para o PhAST Server na requisição da transação. Tamanho máximo: 50 bytes. "" (vazio) include.acquires stringList Indica quais adquirentes serão listadas Todos include.ecs stringList Indica quais estabelecimentos serão listados Todos exclude.acquires stringList Indica quais adquirentes serão excluidas da listagem Nenhum exclude.ecs stringList Indica quais estabelecimentos serão excluidos da listagem Nenhum
- Saída:
Campo Tipo Descrição result.error string Em caso de erro, contém o código do erro ocorrido e em caso de sucesso, string vazia (""). result.message string Em caso de erro, contém a mensagem associada ao erro ocorrido e em caso de sucesso, string vazia (""). network.name string Nome da rede (ou facilitador) que o terminal está cadastrado acquire.id string Código da adquirente acquire.name string Nome da adquirente ec.id string Código do estabelecimento ec.name string Nome do estabelecimento ec.type byte Tipo do estabelecimento (Ver seção Tipos de Estabelecimento) ec.nationalId string CPF ou CNPJ do lojista card.type string Bandeira do cartão card.brand string Bandeira do cartão card.pan string PAN do cartão card.holder string Nome do portador do cartão card.exp string Data de expiração do cartão card.service word Código de serviço do cartão card.appLabel string Label da aplicação do cartão refund.value string Valor do pagamento refund.datetime datetime Horario do pagamento refund.nsu.client dword NSU (Número Sequencial Único) do terminal refund.nsu.server dword NSU do servidor refund.nsu.acquire string NSU da adquirente refund.nsu.auth dword NSU do autorizador refund.vias longStringList Lista com as vias do comprovante do estabelecimento e cliente do cancelamento refund.origional_payment.value string Valor do pagamento refund.origional_payment.parcells string Quantidade de parcelas refund.origional_payment.datetime datetime Horário do pagamento refund.origional_payment.nsu.server dword NSU do servidor refund.origional_payment.nsu.acquire string NSU da adquirente refund.origional_payment.nsu.auth dword NSU do autorizador Exemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); var response = Service#execute("tef.refund", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "refund.value") > 0) { Dialogs.alert("Estorno realizado com sucesso!"); } else { Dialogs.alert("Estorno nao realizado!"); }Saida:
Transação realizada com sucesso!
tef.payment¶
Serviço de Pagamento, provido pelo App TEF, sem escolha prévia da operação financeira a ser executada. Este serviço recebe como entrada um
PhStructcom a definiçãoTefServices#PAYMENT_REQUEST_DEFINITION(), contendo atributos de configuração e retorna umPhStructcom a definiçãoTefServices#PAYMENT_RESPONSE_DEFINITION(), contendo informações sobre a execução do pagamento.Caso algum campo do
PhStructde entrada não seja preenchido, será assumido seu Comportamento Padrão. Por exemplo, caso o campo valor não seja definido na estrutura, será exibido um input para que o operador digite o valor da transação.
- Entrada:
Campo Tipo Descrição Comportamento padrão value string Valor da transação Capturar cashback string Valor da troco Capturar parcells string Número de parcelas Capturar boolean Indica se o TEF deve imprimir o comprovante ao final da transação Não imprimir type byte Tipo do pagamento (Ver seção Tipos de Pagamento) Capturar additionalData string Dados que o app pode enviar para o PhAST Server na requisição da transação. Tamanho máximo: 50 bytes. "" (vazio) include.trnsTypes byteList Indica os tipos de pagamentos que serão listados Todos include.acquires stringList Indica quais adquirentes serão listadas Todos include.ecs stringList Indica quais estabelecimentos serão listados Todos exclude.trnsTypes byteList Indica os tipos de pagamentos que serão excluidos da listagem Nenhum exclude.acquires stringList Indica quais adquirentes serão excluidas da listagem Nenhum exclude.ecs stringList Indica quais estabelecimentos serão excluidos da listagem Nenhum
- Saída:
Campo Tipo Descrição result.error string Em caso de erro, contém o código do erro ocorrido e em caso de sucesso, string vazia (""). result.message string Em caso de erro, contém a mensagem associada ao erro ocorrido e em caso de sucesso, string vazia (""). network.name string Nome da rede (ou facilitador) que o terminal está cadastrado acquire.id string Código da adquirente acquire.name string Nome da adquirente ec.id string Código do estabelecimento ec.name string Nome do estabelecimento ec.type byte Tipo do estabelecimento ec.nationalId string CPNJ do estabelicimento product.id byte Código do produto product.name string Nome do produto product.withInterest string Label da transação com juros product.withoutInterest string Label da transação sem juros product.aid string Identificador da aplicação do cartão product.arqc string Criptograma da requisição de autorização product.imgName string Nome da imagem da bandeira do cartão (Utilizado no comprovante gráfico) card.type string Bandeira do cartão card.brand string Bandeira do cartão card.pan string PAN do cartão card.holder string Titular do cartão card.exp string Data de validade do cartão card.service dword Identificador do serviço (Crédito, Crédito Parcelado, Débito, etc) card.appLabel string Label da aplicação do cartão payment.type byte Tipo do pagamento payment.value string Valor do pagamento payment.cashback string Valor do troco payment.parcells string Quantidade de parcelas payment.datetime datetime Horario do pagamento payment.balance string Saldo do cartão (Em caso de voucher) payment.dtPreDated string Data do débito pré-datado payment.guarantee string Em caso de débito pré-datado, indica se é com ou sem garantia payment.acquireId string Nome do adquirente payment.transactionName string Nome da transação payment.issueName string Nome do emissor payment.nsu.client dword NSU (Número Sequencial Único) do terminal payment.nsu.server dword NSU do servidor payment.nsu.acquire string NSU da adquirente payment.nsu.auth dword NSU do autorizador payment.vias longStringList Lista com as vias do comprovante do estabelecimento e cliente do pagamento payment.tvr byte Valor do TVR (Terminal Verification Result) payment.cvm byte Resultado do CVM (Cardholder Verification Method) payment.tlv1 string TLV do 1st Generate AC payment.tlv2 string TLV do 2nd Generate AC payment.tlvS string TLV do servidor payment.responseCode string Código de resposta do servidor Exemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); Service#execute("tef.connect", []); PhStruct.set(request, "value", 5000); //R$ 50,00 PhStruct.set(request, "print", true); //Imprime o comprovante ao final da transação var response = Service#execute("tef.payment", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "payment.value") > 0) { Dialogs.alert("Pagamento realizado com sucesso!"); } else { Dialogs.alert("Pagamento não realizado!"); } Service#execute("tef.disconnect", []);Saida:
Transação realizada com sucesso!
tef.print.last¶
Serviço de Impressão da última transação realizada.
Entrada:
reprint (booleano): Indicação se a impressão a ser realizada é ou não reimpressão
- via (inteiro): Indicação das vias do comprovante que devem ser impressas
Exemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); var response = Service#execute("tef.payment", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "payment.value") > 0) { Dialogs.alert("Imprimindo..."); Service#execute("tef.print.last", [false, 2]); } else { Dialogs.alert("Pagamento não realizado!"); }Saida:
Imprimindo...
tef.print.list¶
Serviço para impressão de uma lista de transações
Entrada:
nsuList (PhList): Lista com os NSUs das transações que serão impressas.
- reprint (booleano): Indicação se a impressão a ser realizada é ou não reimpressão
- via (inteiro): Indicação das vias do comprovante que devem ser impressas
Exemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); var nsuList = []; for(var i = 0; i < 3; i++) { var response = Service#execute("tef.payment", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "payment.value") > 0) { PhList.add(nsuList, PhType.getValue(PhStruct.get(response, "payment.nsu.server"), 0)); } else { Dialogs.alert("Pagamento não realizado!"); } } if (PhList.count(nsuList) > 0) { Dialogs.alert("Imprimindo comprovantes..."); Service#execute("tef.print.list", [nsuList, false, 2]); }Saida:
Imprimindo comprovantes...